Although it is a relatively new technology, flash memory is well known and readily available. Flash memory is a non-volatile form of random access memory that has a relatively fast access time when it is read. In order to attain its nonvolatility, however, writing to flash memory is a relative slow process. This is because whenever flash memory must be written to, or cleared, a lengthy series of write cycles must be performed in order to ensure that the data to be written to the flash memory has been stored, or to ensure that data formerly stored in the area to be cleared has been erased.
Control of the writing and clearing functions has been performed by dedicated logic of a flash memory integrated circuit unit. During development of the integrated circuit unit, errors in the design of the dedicated logic are detected and must be corrected. Furthermore, over time, requirements regarding modes of operation of the dedicated logic of the integrated circuit unit can change. Modifying the dedicated logic to fix errors or meet new requirements is an expensive and time consuming process. In the worst case, an entirely new integrated circuit unit must be built to modify the dedicated logic.